home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 027a / oclip.zip / OCLIP.CH < prev    next >
Text File  |  1991-10-15  |  1KB  |  52 lines

  1. /*
  2. ╔══════════════════════════════════════════════════════════════════════╗
  3. ║                                o:Clip                                ║
  4. ║             An Object Oriented Extension to Clipper 5.01             ║
  5. ║                 (c) 1991 Peter M. Freese, CyberSoft                  ║
  6. ╚══════════════════════════════════════════════════════════════════════╝
  7.  
  8. Version 1.00 - October 15, 1991
  9. */
  10.  
  11. #xcommand CLASS <name> FROM <parent> => ;
  12.   CLASS <name> XFROM <parent>()
  13.  
  14. #xcommand CLASS <name> [ XFROM <parent> ] => ;
  15.   FUNCTION <name>;;
  16.   STATIC hClass := 0, oParent;;
  17.   LOCAL oNew;;
  18.     if hClass == 0;;
  19.       oParent := __DefineClass(<"name">,<{parent}>)
  20.  
  21. #xcommand VAR <var1> [,<varN>] => ;
  22.       __AddVar(<"var1">) [; __AddVar(<"varN">)]
  23.  
  24. #xcommand METHOD <methodName> [,<*methodN*>] => ;
  25.       __AddMethod(<"methodName">, <"methodName">) [; METHOD <methodN>]
  26.  
  27. #xcommand METHOD <methodName> = <methodUDF> [,<*methodN*>] => ;
  28.       __AddMethod(<"methodName">, <"methodUDF">) [; METHOD <methodN>]
  29.  
  30. #xcommand ENDCLASS => ;
  31.       hClass := __MakeClass();;
  32.     end;;
  33.   oNew := __ClassIns(hClass);;
  34.   oNew\[1] := oParent;;
  35.   RETURN oNew
  36.  
  37. #xtranslate :: => self:
  38.  
  39. #xtranslate self => QSELF()
  40.  
  41. #xtranslate super => parent
  42.  
  43. #xtranslate parent:<method> => ;
  44.   __PARENT( {|o| o:<method> } )
  45.  
  46. #xtranslate parent:<method>:<*Anything*> => ;
  47.   parent:<method> ;;
  48.   #error Chaining not allowed after overridden method call.
  49.  
  50.  
  51.  
  52.